﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyServer.Common
{
    /// <summary>
    /// 为数据侦听器提供事件数据存储
    /// </summary>
    public class DataListenerEventArgs:EventArgs
    {

        #region=========属性==========

        /// <summary>
        /// 表示数据侦听器已封装的有数据的对象的数据包列表
        /// </summary>
        public DataPackageCollection Data { get; private set; }
        /// <summary>
        /// 表示当前对象中可供读取的数据量
        /// </summary>
        public int DataAvailable { get; private set; }
        /// <summary>
        /// 是否丢弃本次数据请求，如果丢弃则会清空输入流，否则会加入数据读取器中
        /// </summary>
        public bool IsCancel { get; set; }
        /// <summary>
        /// 获取与事件绑定的连接
        /// </summary>
        public object Connect { get;private set; }
        #endregion

        #region========构造函数========
        
        /// <summary>
        /// 通过指定参数创建数据侦听事件数据实例
        /// </summary>
        /// <param name="obj">含有绑定的连接的数据列表对象</param>
        /// <param name="DataAvailable">连接内可用的数据量</param>
        public DataListenerEventArgs(DataPackageCollection data,int DataAvailable,object connect)
        {
            this.Data = data;
            this.DataAvailable = DataAvailable;
            this.Connect = connect;
        }

        #endregion

    }
}
